package com.hifar.test.sensor.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hifar.model.BaseModel;
import com.hifar.plat.AopOption.Excel;
import com.hifar.plat.baseModal.pojo.BaseOssFiles;
import com.hifar.validate.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 环境-试验-传感器管理
 * </p>
 *
 * @author wangkepeng
 * @since 2024-12-11 11:58:47
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("HF_RES_SENSOR")
@ApiModel(value = "HfResSensor对象", description = "环境-试验-传感器管理")
public class HfResSensor extends BaseModel implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * 传感器名称
     */
    @Excel(name = "传感器名称", sort = 1)
    @ApiModelProperty(value = "传感器名称")
    @NotBlank(message = "名称不能为空!")
    private String sensorName;

    /**
     * 设备型号
     */
    @Excel(name = "设备型号", sort = 3)
    @ApiModelProperty(value = "设备型号")
    private String sensorModel;

    /**
     * 备注
     */
    @Excel(name = "备注", sort = 5)
    @ApiModelProperty(value = "备注")
    @TableField("REMARKS")
    @JSONField(name = "remarks")
    private String remarks;

    /**
     * 生产厂家
     */
    @Excel(name = "生产厂家", sort = 4)
    @ApiModelProperty(value = "生产厂家")
    private String factoryName;


    /**
     * 传感器编号
     */
    @Excel(name = "传感器编号", sort = 2)
    @ApiModelProperty(value = "传感器编号")
    @NotBlank(message = "编号不能为空!")
    private String sensorCode;

    /**
     * 灵敏度（PC/G）
     */
    @Excel(name = "灵敏度（PC/G）", sort = 2)
    @ApiModelProperty(value = "灵敏度（PC/G）")
    private String sensitivityPcg;

    /**
     * 灵敏度（PC/m/s）
     */
    @Excel(name = "灵敏度（PC/m/s）", sort = 2)
    @ApiModelProperty(value = "灵敏度（PC/m/s）")
    private String sensitivityPcms;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    @JSONField(name = "createTime")
    private Date createTime;


    /**
     * 创建用户名称
     */
    @ApiModelProperty(value = "创建用户名称")
    @TableField(value = "CREATE_USER_NAME", fill = FieldFill.INSERT)
    private String createUserName;
    /**
     * 部门管理
     */
    @ApiModelProperty(value = "部门管理")
    @TableField("DEPT_ID")
    @JSONField(name = "deptId")
    private String deptId;


    /**
     * 检定周期（年）
     */
    @Excel(name = "检定周期（年）", sort = 1)
    @ApiModelProperty(value = "检定周期（年）")
    @TableField(value = "CHECK_PERIOD_VALUE", updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "checkPeriodValue")
    private Integer checkPeriodValue;

    /**
     * 检定有效期
     */
    @ApiModelProperty(value = "检定有效期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @TableField(value = "CHECK_PERIOD_DATE", updateStrategy = FieldStrategy.IGNORED)
    @JSONField(name = "checkPeriodDate")
    private Date checkPeriodDate;

    /**
     * 鉴定周期单位  1 日  2 月 3 年
     */
    @ApiModelProperty(value = "鉴定周期单位  1 日  2 月 3 年")
    private String checkPeriodUnit;

}